/** 用户管理后台接口 */

var express = require('express');
var router = express.Router();

const db = require('../db/index')
const jwt = require('jsonwebtoken')
const config = require('../config')

const multipart = require('connect-multiparty');
const multipartMiddleware = multipart();

/* 登录 */
router.post('/login',multipartMiddleware, function(req, res, next) {
  // 判断用户名是否重复
  db.query('select * from ev_users where name = ?',req.body.name,(err,results)=>{
    if(err) return res.error(err.message)
    if(results && results.length>0){
      // 判断用户名和密码是否一致
      if(results[0].password === req.body.password){
        //const tokenStr = jwt.sign(results[0].id,config.jwtSecretKey,{expiresIn:config.expiresIn})
        const tokenStr = jwt.sign({name:req.body.name,id:results[0].id},config.jwtSecretKey,{expiresIn: config.expiresIn})
        res.send({
          code:0,
          token: 'Bearer ' + tokenStr,
          message:'成功'
        })
      }else{
        res.error('密码不匹配')
      }
      

    }else{
     res.error('用户或者密码不匹配')
    }
})
});
/* 注册 */
router.post('/register',multipartMiddleware, function(req, res, next) {
  // 判断用户名是否重复
  db.query('insert into ev_users set ?',{name:req.body.name,password:req.body.password},(err,results)=>{
    if(err) return res.error(err.message)
    if(results.affectedRows ===1){
      // 判断用户名和密码是否一致
      res.send({
        code:0,
        message:'注册成功'
      })
      

    }else{
     res.error('注册不成功')
    }
})
});
/* 获取用户列表 */
router.get('/users', function(req, res, next) {
    // 查用户名是否重复
    db.query('select * from ev_users',(err,results)=>{
      if(err) return res.error(err.message)
      res.send({
        code:0,
        data:results,
        message:'获取成功'
      })
      
  })
});
/* 删除用户 */
router.get('/updateUser/:id', function(req, res, next) {
  
  db.query('update ev_users set isuse = 0 where id = ?',req.params.id,(err,results)=>{
    if(err) return res.error(err.message)
    if(results.affectedRows ==1) {

      res.send({
        code:0,
        message:'修改成功'
      })

    }else{
      res.error('修改失败，联系管理员')
    }
})
});
/* 修改个人信息 */
router.post('/updateInfor',multipartMiddleware,function(req,res){

  db.query(`UPDATE ev_users SET  ? WHERE id = ?`,[{password:req.body.password,user_pic:req.body.user_pic},req.body.id],(err,results)=>{
    if(err) return res.error(err.message)
    if(results.affectedRows ==1) {
      res.send({
        code:0,
        message:'修改成功'
      })

    }else{
      res.error('修改失败，联系管理员')
    }
  })

})

module.exports = router;
